package org.lanqiao.tjut.db;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;


public class DBTestDriver2 {

	public static void main(String[] args) {
		/*
		 * 新建dynamic web project
		 * 连接数据库：将驱动jar包引入项目，将数据库驱动jar包拷入项目的WebContent/WEB-INF/lib下即可
		 * 
		 */
		try {
			
			// 4、组织数据操作sql语句
			String strSql = "select * from dept";
			// 5、执行数据操作处理
			ResultSet rs = DBFactory.getDBDriverInstance().query(strSql);
			// 6、根据数据操作结果进行业务逻辑处理
			// 遍历结果集显示查询结果
			while (rs != null && rs.next()) {
				// 使用get方法获取字段内容
				System.out.print("第一列：" + rs.getObject(1));
				System.out.println("        DEPARTMENT_NAME: " + rs.getObject("DEPARTMENT_NAME"));
			}
			// 将光标放到结果集的最前面（第一行之前）,在oracle中需要在创建Statement时设置两个属性；
			rs.beforeFirst();
			System.out.println("-------------");
			// 获取与列的相关的信息
			ResultSetMetaData rsmd = rs.getMetaData();
			// 获取查询结果集的列数
			int colCount = rsmd.getColumnCount();
			while (rs != null && rs.next()) {
				// 使用for循环输出当前结果集中当前行中所有的列信息
				for (int i = 1; i <= colCount; i++) {
					System.out.print("\t" + rsmd.getColumnLabel(i) + "-" + rs.getObject(rsmd.getColumnLabel(i)));
				}

				System.out.println();
			}
			// 7、关闭资源
			if (rs != null) {
				rs.close();
			}
			
		} catch (Exception e) {
			// 数据库连接处理异常
			System.out.println("Oracle-Jdbc:数据库连接异常");
			e.printStackTrace();
		}
	}

}
